A predictive model (forecasting model, autoregressive model) is a software-implemented model of a system, process, or phenomenon, usable to forecast a value, output, or outcome expected from the system, process, or phenomenon. The system, process, or phenomenon that is modeled is collectively and interchangeably referred to hereinafter as a “process” unless specifically distinguished where used.
A simulation is a method of computationally looking ahead in the future of the execution of the process to predict one or more events that can be expected to occur in the process at that future time. A predicted event is a value, output, or outcome of the process at the end of a look-ahead period configured in the simulation.
A variable that affects an outcome of a process is called a feature. A predicted event or an outcome of a process is dependent upon, affected by, or otherwise influenced by a set of one or more features. A feature can be independent, to wit, independent of and not affected by other features participating in a given model. A feature can be dependent upon a combination of one or more other independent or dependent features.
A predictive model has to be trained before the model can reliably predict an event in the future of the process with a specified degree of probability or confidence. Usually, but not necessarily, the training data includes past or historical outcomes of the process. The training process adjusts a set of one or more parameters of the model.
Time series forecasting uses one or more forecasting models to regress on independent features to produce a dependent feature. For example, if Tiger Woods has been playing golf very quickly, the speed of play is an example of an independent feature. A forecasting model regresses on historical data to predict the future play rates. The future play rate is a dependent feature.
Cloud computing is one of the emerging technologies that enables flexible and efficient computing. Cloud computing offers an on-demand model for computing that reduces, or in some cases, completely avoids the hardware and software maintenance costs for an end user of the computing services.
One model of cloud computing provides a user with a complete setup on which to execute the user's application or workload. Such a model provides a facility to execute a workload without providing the user with control over the configuration of the data processing environment.
Another model of cloud computing provides the user with a data processing environment per the user's request. Such a model provides to the user “machine time” on a data processing system of the user's desired configuration. Typically, the data processing environment in such a model takes the form of virtual machines (VMs) created according to a user-provided specification and allocated to the user for the duration of the user's workload.
Regardless of how offered, cloud computing service models are expected to remain responsive to changing load conditions. Furthermore, many cloud computing services are contractually required to provide at least threshold levels of performance and reliability.